<FrameworkSwitchCourse {fw} />

# Giới thiệu

Trong [Chương 3](/course/chapter3), bạn đã thấy cách tinh chỉnh một mô hình để phân loại văn bản. Trong chương này, chúng ta sẽ giải quyết các tác vụ NLP phổ biến sau:

- Phần loại token
- Mô hình ngôn ngữ bị ẩn đi (như BERT)
- Tóm tắt
- Dịch máy
- Mô hình ngôn ngữ nhân quả huấn luyện trước (như GPT-2)
- Hỏi đáp

{#if fw === 'pt'}

Để làm được điều này, bạn sẽ cần tận dụng mọi thứ bạn đã học về API `Trainer` và thư viện 🤗 Accelerate trong [Chương 3](/course/chapter3), thư viện 🤗 Datasets trong [Chapter 5](/course/chapter5), và thư viện 🤗 Tokenizers trong [Chương 6](/course/chap6). Chúng ta cũng sẽ tải kết quả của mình lên Model Hub, giống như đã làm trong [Chương 4](/course/chap4), vì vậy đây thực sự là chương mà mọi thứ kết hợp với nhau!

Mỗi phần có thể được đọc độc lập và sẽ chỉ cho bạn cách huấn luyện một mô hình bằng API `Trainer` hoặc với vòng huấn luyện của riêng bạn, sử dụng 🤗 Accelerate. Vui lòng bỏ qua một trong hai phần và tập trung vào phần mà bạn quan tâm nhất: API `Trainer` rất tuyệt vời để tinh chỉnh hoặc huấn luyện mô hình của bạn mà không cần lo lắng về những gì đang diễn ra ở phía sau, trong khi vòng huấn luyện với `Accelerate` sẽ cho phép bạn tùy chỉnh bất kỳ phần nào bạn muốn dễ dàng hơn.

{:else}

Để làm được điều này, bạn sẽ cần tận dụng mọi thứ bạn đã học về các mô hình huấn luyện với API Keras [trong [Chương 3](/course/chapter3), thư viện 🤗 Datasets trong [Chapter 5](/course/chapter5), và thư viện 🤗 Tokenizers trong [Chương 6](/course/chap6). Chúng ta cũng sẽ tải kết quả của mình lên Model Hub, giống như đã làm trong [Chương 4](/course/chap4), vì vậy đây thực sự là chương mà mọi thứ kết hợp với nhau!

Mỗi phần có thể được đọc độc lập.

{/if}

> [!TIP]
> Nếu bạn đọc các phần theo trình tự, bạn sẽ nhận thấy rằng chúng có khá nhiều điểm chung về đoạn mã và văn xuôi mô tả. Việc lặp lại là có chủ đích, để cho phép bạn nhúng tay vào (hoặc quay lại sau) bất kỳ tác vụ nào mà bạn quan tâm và tìm thấy một ví dụ hoạt động hoàn chỉnh.
